home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Language/OS - Multiplatform Resource Library
/
LANGUAGE OS.iso
/
cpp_libs
/
cmdline.lha
/
cmdline
/
doc
/
example.man
< prev
next >
Wrap
Text File
|
1992-08-03
|
2KB
|
73 lines
.SH EXAMPLE
.PP
Using the \*(NM library is relatively easy \- you need to construct your
arguments, your command-line, and your argument iterator. Then all that is
left to do is call the \f4parse\fP member function of your \*(NM object.
The following is a simple example:
.XS
#include <stdlib.h>
#include <iostream.h>
#include <cmdargs.h>
int main(int argc, char * argv[])
{
// Declare arguments
CmdArgInt count('c', "count", "number",
"number of copies to print.");
.sp 4p
CmdArgBool xflag('x', "xmode",
"turn on 'x'-mode.");
.sp 4p
CmdArgChar fdsep('s', "separator", "char",
"field-separator to use.");
.sp 4p
CmdArgStr input("input-file",
"input file to read.");
.sp 4p
CmdArgStrList output("[output-file \*(..]",
"where to print output.");
// Declare the command and the argument-iterator
CmdLine cmd(*argv,
&count, &xflag, &fdsep,
&input, &output, NULL);
.sp 4p
CmdArgvIter arg_iter(--argc, ++argv);
// Initialize arguments to appropriate default values.
count = 1;
xflag = 0;
fdsep = ',';
// Parse arguments
cmd.parse(arg_iter);
// Print arguments
cout << "count=" << count << endl ;
cout << "xflag=" << (xflag ? "ON" : "OFF") << endl ;
cout << "fdsep='" << (char) fdsep << "'" << endl ;
cout << "input=\\"" << input << "\\"" << endl ;
for (int i = 0 ; i < output.count() ; i++) {
cout << "output[" << i << "]=" << output[i] << endl ;
}
return 0;
}
.XE
The Unix command-line syntax for the above program would be as follows:
.XS
progname [\-c number] [\-x] [\-s char] input-file [output-file \*(..]
.XE
The Unix command-line syntax using long-options (keywords) for the above
program would be as follows:
.XS
progname [\*(--count number] [\*(--xmode] [\*(--separator char]
input-file [output-file \*(..]
.XE